package com.lichuang.fruitvarietysm.cart.service;

import com.lichuang.fruitvarietysm.cart.entity.Shoppingcart;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author kangkang
 * @since 2019-06-10
 */
public interface IShoppingcartService extends IService<Shoppingcart> {
    /**
     * 根据用户id和商品id查，购物车表是否存在该商品，
     * 不存在就调addCart（）方法，进行添加。
     * 存在即调updateCatNum（）方法进行商品增加数量
     * @param userId
     * @param goodsId
     * @return
     */
    int sCartYesOrNoGoods(@Param("userId") int userId,
                          @Param("goodsId") int goodsId);
    /**
     * 根据用户id和商品id查，购物车中某商品的数量
     * @param userId
     * @param goodsId
     * @return
     */
    Shoppingcart sCartGoodsNumber(@Param("userId") int userId,
                         @Param("goodsId") int goodsId);

    /**
     * 查找该商品是否是秒杀的商品
     * @param goodsId
     * @return
     */
    int sGoodsMiaoSha(@Param("goodsId") int goodsId);

    /**
     * 添加商品到购物车
     * @param userId
     * @param goodsId
     * @return
     */
    int addCart(@Param("userId") int userId, @Param("goodsId") int goodsId,
                @Param("createTime")String createTime,
                @Param("totalPrice")BigDecimal totalPrice,
                @Param("skuId")Integer skuId);

    /**
     * 修改购物车商品的数量
     * @param cartID
     * @return
     */
    int updateCatNum(@Param("cartID") int cartID,@Param("quantity")int quantity);

    /**
     * 删除购物车中的某商品
     * @param cartID
     * @return
     */
    int deleteCatGoods(@Param("cartID") int cartID);

}
